﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ObviousCode.UI.Aspect.PluginLibrary.Interfaces;
using ObviousCode.Aspect.PluginLibrary.Interfaces;
using ObviousCode.Common.Utils.Library.Dictionaries;

namespace ObviousCode.Aspect.PluginLibrary
{
    public class SurfaceItemDescriptor
    {
        public string Key { get; private set; }

        public string Description { get; set; }
        public IUITheme Theme { get; set; }
        public ChartObjectImages Images { get; set; }
        public IAspectItemFactory Factory { get; set; }
        public PropertyDictionary Properties { get; private set; }

        public SurfaceItemDescriptor(string key, string description, ChartObjectImages images, IUITheme theme, IAspectItemFactory builder)
        {
            Properties = new PropertyDictionary();

            Key = key;
            Description = description;
            Images = images;
            Theme = theme;
            Factory = builder;
        }

        public PropertyDictionary Persist()
        {
            PropertyDictionary dictionary = new PropertyDictionary();

            dictionary.Set("key", Key);

            return dictionary;
        }
    }
}
